<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
  <script>
    // var res = "保时捷" + 911;
    // // prompt是输入语句，小括号里的是提示文字
    // var num1 = prompt("请输入第一个数字"); // 100
    // var num2 = prompt("请输入第二个数字"); // 200
    // console.log(typeof num1); // string
    // console.log(typeof num2); // string
    // console.log(num1 + num2); // 字符串与字符串之间的加法是拼接


    /* 
      把字符串转数值类型
        parseInt()
        parseFloat()
        Number()
        +
        *
    */
    var str1 = "3.14";
    console.log(typeof str1); // string

    // parseInt() 既能转换数值类型，又能取整
    /* 
      原理：
        从字符串左侧开始第一位查看，是数字的保留，不是数字的直接省略
        如果第一位就不是数字，直接返回NaN
    */
    console.log(parseInt(str1)); // 3
    console.log(typeof parseInt(str1)); // number

    var str2 = "abc123";
    console.log(parseInt(str2)); // NaN
    console.log(typeof parseInt(str2));


    // parseFloat()
    /* 
      原理：
        从字符串左侧开始第一位查看，是数字的保留，并保留一个小数点，后面不是数字的位置开始神略
        如果第一位就不是数字，直接返回NaN
    */

    // Number()
    /* 
      可以将任意类型转换为数值类型，但是不能取整
    */
    var str3 = "123.456";
    console.log(Number(str3)); // 123.456
    console.log(typeof Number(str3)); // number

    var bool = true;
    console.log(Number(bool)); // 1
    console.log(parseInt(bool)); // NaN
    
    /* 
      区别：
      parseInt()和parseFloat() 只对字符串起作用
      Number()可以对任意类型起作用，但不能取整
    
    */
  </script>
</body>
</html>